Introduction
Expand your video content to global audiences by translating videos into 40+ languages with natural-sounding AI voiceovers and synchronized subtitles. No need to re-record or hire translators - simply provide your video URL and target language.Key Features
40+ Languages
Support for major European, Asian, and other languages
AI Voiceover
Natural-sounding voices matching original tone
Auto Subtitles
Synchronized subtitles generated automatically
Fast Processing
10-20 minutes average turnaround time
Workflow Overview
Video translation is a 4-step asynchronous process:Video Duration Limit: Videos must be between 0-3 minutes in length.
Processing time: 10-20 minutes for typical videos (varies by length). Use webhooks or polling to get results.
Quick Start
Related API Endpoints
| Endpoint | Purpose | Documentation |
|---|---|---|
GET /v2/video_translate/target_languages | Get supported languages | API Reference |
GET /v2/voices | Get available voices (filter by language) | API Reference |
POST /v2/video_translate/ | Submit translation task | API Reference |
GET /v2/video_translate/{video_translate_id} | Check translation status | API Reference |
Key Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
video_url | string | ✅ | URL of the video to translate (must be publicly accessible, 0-3 minutes duration) |
output_language | string | ✅ | Target language name (e.g., “spanish”, “french”, “japanese”) |
output_voice | string | ❌ | Specific voice ID for target language (auto-selected if omitted) |
add_subtitles | boolean | ❌ | Generate subtitle file (.srt) (default: true) |
title | string | ❌ | Title for the translated video |
translate_audio_only | boolean | ❌ | Translate audio only without lip sync (default: false) |
enable_dynamic_duration | boolean | ❌ | Enable dynamic duration adjustment (default: false) |
callback_url | string | ❌ | Callback URL for status notifications |
Code Examples
Step 1: Get Supported Languages
List all available target languages:Step 2: Get Available Voices for Target Language
Get voices available for your target language:Save the
voice_id from the response to use as output_voice in translation request. You can filter by gender and age if needed.Step 3: Submit Translation Task
Submit your video for translation:Save the
video_translate_id to check status later!Step 4: Check Translation Status
Poll to check if translation is ready:| Status | Description | Action |
|---|---|---|
pending | Task queued | Wait for processing |
processing | Translation in progress | Continue polling (every 10s) |
completed | Translation finished | Download video and subtitles |
failed | Translation failed | Check error message |
Use Case Examples
E-commerce Product Videos
E-commerce Product Videos
Translate product demos for international markets:
- Get voices for target market language
- Submit translation with appropriate voice
- Generate localized product videos
- Reach global customers effectively
Educational Content
Educational Content
Translate training videos for global teams:
- Batch translate to multiple languages
- Use consistent voice across languages
- Enable subtitles for better comprehension
- Scale training content globally
Marketing Campaigns
Marketing Campaigns
Localize marketing videos for different regions:
- Translate to regional languages
- Choose voices matching brand identity
- Maintain message consistency
- Reduce production costs
Customer Support
Customer Support
Create multilingual support videos:
- Translate FAQ and tutorial videos
- Use clear, professional voices
- Enable subtitles for accessibility
- Improve customer experience globally
Tips for Best Results
Voice Selection:- Match gender and approximate age to original
- Consider formal vs casual tone
- Test different voices with short clips
- Use
/voices?language={language}to preview available voices - Choose appropriate
output_voicebased on preferences
- ✅ Improves comprehension accuracy
- ✅ Helps viewers in noisy environments
- ✅ Accessibility for hearing impaired
- ✅ Aids language learning
- ✅ Enabled by default with
add_subtitles: true
- Submit all tasks at once (parallel processing)
- Use descriptive task tracking
- Implement webhook for completion notification
- Handle failures gracefully (retry logic)
- Monitor API rate limits
Troubleshooting
Translation takes too long
Translation takes too long
Issue: Processing exceeds expected timeSolutions:
- Video length impacts processing time (2-5 min per minute of video)
- Verify video URL is publicly accessible
- Check video file size (very large files take longer)
- Check current API status for delays
- Use webhook to get notified when complete
Poor voiceover quality
Poor voiceover quality
Issue: Translated audio doesn’t sound naturalSolutions:
- Try different
output_voicevalues for target language - Ensure original audio is clear (low background noise)
- Check if original speech pace is too fast
- Enable subtitles for better context
- Test with high-quality source video first
Video not accessible
Video not accessible
Error:
Video URL not accessibleSolutions:- Ensure URL is publicly accessible (no authentication)
- Check CORS/download restrictions
- Verify video format is supported (MP4, MOV, AVI)
- Try uploading to a CDN first
- Check URL is not expired or temporary
Translation inaccurate
Translation inaccurate
Issue: Translated content doesn’t match originalSolutions:
- Original audio may not be clear enough
- Check for heavy accents or dialects
- Avoid technical jargon or domain-specific terms
- Consider adding subtitles to original first
- Test with simpler, clearer speech
Related Documentation
Get Voices
Browse all available voices
Webhook Integration
Get notified when translation completes
Get Result
How to check task status
API Reference
Complete API documentation

